"use strict";
let bb = "aa";
// 方式一：let 数组名:类型[] = [值1,值2];
let arr = ['a', 'b', 'b'];
// 方式二：let 数组名:Array<类型>
let arr1 = [1, 2, 3, 4];
// 定义一个数组内元素类型不确定的数组
let arr2 = [1, 2, 3];
// 元组：就是一个规定了元素数量和每个元素类型的“数组”，而每个元素的类型，可以不相同。
// 元组的定义：let 元组名:[类型1,类型2,类型3] = [值1，值2，值3]
let arr3 = ['1', 2, true];
// 枚举：
// 枚举定义：
// enum username{
//     name='dukang',
//     user='haha',
//     age=18
// }
// console.log(username.name)
// console.log(username.age)
// console.log(username)
// void和any正好相反，它表示没有任何类型
// 当一个函数没有任何返回值时，可以设置void类型
let arr4 = undefined;
// let arr5:void=1  就会报错
//函数
// 需要指定函数参数和返回值的类型
//必须需要返回值，没有返回值就会报错      这里是定义函数返回值属性
let fun = function (name, age) {
    return `我叫${name}，今年${age}`;
};
console.log(fun('dukang', 18));
//如果不与需要返回值就要给函数定义 void，定义void 在给返回值 就会报错
function fun4(name, age) {
    console.log(`我叫${name}今年${age}`);
}
fun4('杜康', 27);
// 可选参数，尽量放在最后
//第一种
//在数据后面跟着？是代表可选 就是你可以给传传值也可以不传值
function getuser(name, age) {
    age = 18;
    return `${name}${age}`;
}
console.log(getuser());
//第二种
function getuser1(name = 'dukang', age = 18) {
    console.log(name, age);
}
getuser1();
